tools


This is a collection of many of the tools, libraries, and pipelines I've written over the years organized by the context I built them in.


Tools

CRISPR Screening Platform

  • sgcount
    • Mapping sgRNA counts for CRISPRi/a screens.
  • casmap
    • Mapping sgRNA counts for CAS12 6-plex CRISPR screens.
  • crispr_screen
    • Perform differential abundance testing and sgrna -> guide aggregation for CRISPR screens.
  • screenviz
    • Visualize and interact with CRISPR screen results in the browser.

Single-Cell Sequencing

  • geomux
    • Assign cells to features using a hypergeometric based test.
  • adpbulk
    • Perform pseudobulking of single-cell sequencing data for differential expression testing.
  • cshift
    • Perform differential representation testing for groups and clusters in single-cell sequencing data.
  • pypage
    • Conditional mutual information based pathway analysis (GSEA alternative)
  • IDEA
    • Integrated Differential Expression and Annotation. Visualizes the bipartite graph of gene sets and overlapping differentially expressed genes in an interactive force-directed graph.

Bioinformatics CLI Tools

  • gia

    • A command-line genome interval arithmetic toolkit written in rust. Takes advantage of bedrs for powerful trait based interval operations.
  • ggetrs

    • A rust implementation of gget that takes advantage of powerful rust async and execution times. Provides a single interface to perform queries on multiple bioinformatics databases and resources.
  • fxtools

    • A barebones and fast fast[aq] manipulation CLI written in rust.
  • pipspeak

    • A barebones and fast parser for PIPSeq data to make compatible with transcriptomics tools like Kallisto and Salmon.
  • scispeak

    • A barebones and fast parser for sci-rna-seq3 data to make compatible with transcriptomics tools like Kallisto and Salmon.
  • gtfjson

    • A GTF parsing CLI that outputs all annotation information inline with genome feature data as a newline-delim JSON. Also has some utilities for operating on the ndjson for various tasks.
  • splici

    • A rust implementation of the splici algorithm to build spliced/unspliced reference transcriptomes used in RNA velocity.

Graph Theory and Network Motifs

  • memoesu
    • A memoized and multithreaded implementation of the ESU algorithm for network motif discovery.
  • graphtries
    • A rust implementation of the gtries subgraph enumeration algorithm for network motif discovery and searching.
  • convg
    • A simple CLI for viewing and converting GRAPH6 and DIGRAPH6 formatted text between different formats.

Computational Drug Discovery

  • ClusterDock
    • Pipeline and analysis scripts for k-mean based clustering of matching-spheres within DOCK for huge speed improvements.

Libraries

Sequencing + Genomics

  • fxread
    • A fast and barebones fast[aq] parser focused on the iterator pattern.
  • bedrs
    • A genomic interval arithmetic library for rust.
  • gtftools
    • A fast parser for Ensembl-GTF formatted files.
  • disambiseq
    • Creates unambiguous one-off mismatch libraries for DNA sequences. Useful for O(1) hashmap lookups with one-off mismatches.
  • faiquery
    • Performs interval queries on an indexed fasta sequence. This is the backend used by gia get-fasta.

Statistics

  • adjustp
    • A simple p-value adjustment library for rust.
  • information
    • A library for performing information theoretic functions in rust.
  • intc
    • A library for performing the *-INC algorithm for guide -> gene level p-value aggregation. Uses a Mann-Whitney U test of tests vs. control genes.
  • alpha-rra
    • A library for performing the alpha-RRA algorithm for guide -> gene level p-value aggregation. Parameterizes a beta distribution against expected normalized ranks.

Graph Theory

  • graph6-rs
    • A rust library for converting to and from graph6 formatted files from NAUTY
  • graph-canon
    • Super fast and barebones graph canonicalization using nauty C-lib and built on petgraph.

Miscellaneous

  • pvsvg
    • A python library to generate vis.js networks that can be exported as SVG

Pipelines

Single-Cell Sequencing

CRISPR Screening

Resources

  • howdoi

    • A collection of resources for bioinformatics analysese related to CRISPR screens. May expand to other things in the future.
  • screen libraries

    • A collection of CRISPR screening libraries (H1-H7) used in the Kampmann lab. Compatible with sgcount.